package collection;
/** 对字符串集合排序*/
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class SortString {
    public static void main(String[] args) {
        List<String> list= new ArrayList<>();
        list.add("tom");
        list.add("jack");
        list.add("Rose");
        list.add("lucy");
        list.add("Lucky");
        System.out.println("list原始数据:"+list);//[tom, jack, Rose, lucy, Lucky]
        //英文：按照首字母的ASCII码排序，首字母相同，则按照第二个字母的ASCII码排序
        Collections.sort(list);
        System.out.println("list排序后的:"+list);//[Lucky, Rose, jack, lucy, tom]

        List<String> list1= new ArrayList<>();
        list1.add("好");
        list1.add("很好");
        list1.add("非常好");
        list1.add("厉害");
        list1.add("你真厉害");
        System.out.println("list1原始数据:"+list1);//[好, 很好, 非常好, 厉害, 你真厉害]
        //中文：按照首字母的ASCII码排序，首字母相同，则按照第二个字母的ASCII码排序
        Collections.sort(list1);
        System.out.println("list1排序后的:"+list1);//[你真厉害, 厉害, 好, 很好, 非常好]
        //按照字符串长度排序（自己排的）
        Collections.sort(list1, new Comparator<String>() {
            @Override
            public int compare(String o1, String o2) {
                return o2.length()-o1.length();//长度降序
            }
        });
        //lambda表达式
        Collections.sort(list,(o1,o2)->o1.length()-o2.length());//按照字符串长度升序排列
        System.out.println("list1排序后的:"+list1);//[你真厉害, 非常好, 很好, 厉害, 好]






    }
}
